﻿#define _CRT_SECURE_NO_WARNINGS 1
#include<stdio.h>
//int main()
//{
//	int a = 3;
//	int b = 5;
//	printf("%d %d\n", a, b);
//	a = a ^ b;//6
//	b = a ^ b;//3
//	a = a ^ b;
//	printf("%d %d\n", a, b);
//	return 0;
//}
//int main()
//{
//	int num = 0;
//	scanf("%d", &num);
//	int i = 0;
//	int count = 0;//计数
//	while (num)
//	{
//		count++;
//		num = num & (num - 1);
//	}
//	printf("2进制中1的个数 = %d\n", count);
//	return 0;
//}
//int main()
//{
//	int n = 0;
//	scanf("%d", &n);
//	for (int i = 31; i >= 1; i -= 2)
//	{
//		int b = 0;
//		b = i - 1;
//		printf("%d", (n >> b) & 1);
//	}
//	printf("\n");
//	for (int i = 32; i >= 1; i -= 2)
//	{
//		int b = 0;
//		b = i - 1;
//		printf("%d", (n >> b) & 1);
//	}
//	return 0;
//}
int main()
{
	int a = 0;
	int b = 0;
	int arr1[32] = { 0 };
	int arr2[32] = { 0 };
	int count = 0;
	scanf("%d %d", &a, &b);
	for (int i = 1; i <= 32; i++)
	{
		int c = 32-i;
		int d = i - 1;
		printf("%d", (a >> c) & 1);
		arr1[d] = (a >> c) & 1;
	}
	printf("\n");
	for (int i = 1; i <= 32; i++)
	{
		int c = 32-i;
		int d = i - 1;
		printf("%d", (b >> c) & 1);
		arr2[d] = (b >> c) & 1;
	}
	printf("\n");
	for (int j = 0; j <= 31; j++)
	{
		
		if (arr1[j] != arr2[j])
		{
			count++;
		}
	}
	printf("%d", count);
	return 0;
}